EC2 マネジメントコンソール画面より、CloudWatch エージェントをインストールしてカスタムメトリクス設定 ~ 取得まで可能になっていたのでやってみた
はじめに
テクニカルサポートの 片方 です。
EC2 のマネジメントコンソール画面より、CloudWatch エージェント をインストールして、カスタムメトリクス設定 ~ 取得するまでをご紹介します。
通常であれば、例えば SSH 接続などで対象 EC2 インスタンスにログインして各種設定を行っていましたが、EC2 インスタンスのマネジメントコンソール画面からの操作で完結するため非常に簡単です。
前提条件
以下 3 つの条件が必要です。
- マネージドノードに登録されていること
- 対象 EC2 インスタンス の AWS Identity and Access Management (IAM) インスタンスプロファイルロールで、マネージドノードに登録するための "AmazonSSMManagedInstanceCore" と、AmazonCloudWatchAgent を使用するために必要な "CloudWatchAgentServerPolicy" と同等の権限があること
- Linux OS であること
やってみた
本ブログではマネージドノードとして登録する方法と、AWS Identity and Access Management (IAM) インスタンスプロファイルロールの作成方法は割愛させて頂きます。
今回は検証用として EC2 インスタンスを Amazon Linux 2023 で起動しました。
EC2 インスタンスのマネジメントコンソール画面より、対象 EC2 インスタンスを選択後、モニタリングから「CloudWatch エージェントを設定」をクリックします。※ 右上のアクションからも可能です
選択したインスタンスを確認します。問題なければ「次へ」をクリックします。
SSM エージェントがインストールされ、正しく機能しているかどうかを確認します。問題なければ「次へ」をクリックします。
※ 問題ある場合は以下が想定されます。
IAM 許可を検証します。
現時点の仕様なのか、"AmazonSSMManagedInstanceCore" と "CloudWatchAgentServerPolicy" がアタッチされていても権限が不足していると表示されますが、挙動に問題ないので「次へ」をクリックします。
CloudWatch エージェントがインストールされ、応答しているかどうかを確認します。
まだインストールされていないので、「CloudWatch エージェントをインストールする」をクリックします。
正常にインストールされたことを確認します。
CloudWatch エージェントのステータスがインストール済みで応答中であれば「次へ」をクリックします。
CloudWatch エージェントの設定を行います。お好みで設定してください。
トレースの設定や、設定確認も可能です。
設定に問題なければ、「次へ」をクリックします。
設定が正常に送信されたことを確認します。問題なければ「完了」をクリックします。
これで終了です。お疲れ様でした!
収集できているか確認
出来ていますね。成功です!!
追加可能なカスタムメトリクスについて
Compute Optimizer メモリ
コンピュートオプティマイザーが消費するメモリメトリクスを送信するようにインスタンスを設定できます。
メモリ
- "active"
- "available"
- "available_percent"
- "buffered"
- "cached"
- "free"
- "inactive"
- "total"
- "used"
CPU
- "time_active"
- "time_guest"
- "time_guest_nice"
- "time_idle"
- "time_iowait"
- "time_irq"
- "time_nice"
- "time_softirq"
- "time_steal"
- "time_system"
- "time_user"
- "usage_active"
- "usage_guest"
- "usage_guest_nice"
- "usage_idle"
- "usage_iowait"
- "usage_irq"
- "usage_nice"
- "usage_softirq"
- "usage_steal"
- "usage_system"
- "usage_user"
スワップ
- "free"
- "used"
- "used_percent"
プロセス
- "zombies"
- "wait"
- "total_threads"
- "total"
- "stopped"
- "sleeping"
- "running"
- "paging"
- "idle"
- "dead"
- "blocked"
ディスク
- "free"
- "inodes_free"
- "inodes_total"
- "inodes_used"
- "total"
- "used"
- "used_percent"
ディスク I/O
- "iops_in_progress"
- "io_time"
- "reads"
- "read_bytes"
- "read_time"
- "writes"
- "write_bytes"
- "write_time"
ネットワークインターフェイス
- "bytes_recv"
- "bytes_sent"
- "drop_in"
- "drop_out"
- "err_in"
- "err_out"
- "packets_sent"
- "packets_recv"
Netstat
- "tcp_close"
- "tcp_close_wait"
- "tcp_closing"
- "tcp_established"
- "tcp_fin_wait1"
- "tcp_fin_wait2"
- "tcp_last_ack"
- "tcp_listen"
- "tcp_none"
- "tcp_syn_sent"
- "tcp_syn_recv"
- "tcp_time_wait"
- "udp_socket"
まとめ
非常に簡単にカスタムメトリクスを取得することが可能でした。早く Windows OS も対応になれば嬉しいですね。
本ブログが誰かの参考になれば幸いです。
参考資料
- CloudWatch エージェントを使用してメトリクス、ログ、トレースを収集する - Amazon CloudWatch
- AmazonSSMManagedInstanceCore - AWS 管理ポリシー
- CloudWatchAgentServerPolicy - AWS 管理ポリシー
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。